package com.atguigu.dao;

import com.atguigu.pojo.Subtask;

import java.util.List;

public interface SubtaskDao {
    //每个方法中都带有所操作类的名字,为了以后看到这个方法,就知道是干什么的
    public int addSubtask(Subtask subtask);
    public int deleteSubtaskById(String id);
    public int deleteSubtaskByMainTaskId(String mainTaskId);
    public int updateSubtask(Subtask subtask);
    public int setSubtaskStatusByMainTaskId(String mainTaskId,String status);
    public Subtask querySubtaskById(String id);//这个参数写的太片面了,万一用户模糊搜索呢,所以以后再加一个by name的模糊搜索页
    public List<Subtask> querySubtasksByServerId(String serverId);
    public Integer querySubtasksByStatusNotTrue();
    public List<Subtask> queryNeedDoSubtasksByServerId(String serverId);
    public List<Subtask> queryNeedDoSubtasksByMainTaskId(String mainTaskId);
    public List<Subtask> querySubtasksByMainTaskId(String mainTaskId);
    public List<Subtask> querySubtasksByCommand(String subtaskCommand);
    public List<Subtask> querySubtasksByServerIdAndSubtaskCommand(String serverId,String subtaskCommand);
    public List<Subtask> getSpeciallyAppointedTargetNodeMainTaskResult(String targetNodeId,String mainTaskId);
    public List<Subtask> querySubtasks();//这个参数实在是没法确定用哪个哪个字段查,慢慢看吧;也或许就不用id查,只用取片断,用于page分页用
    Integer queryForPageTotalCount();//查询总条目数,为page分片做准备
    public List<Subtask> queryForPageItems(Integer begin, Integer pageSize);//每页数据条目
}
